namespace B.Z.Inventory.API.Read.DTO
{
    /// <summary>
    /// 库存预警DTO
    /// </summary>
    public class LowStockAlertDto
    {
        /// <summary>
        /// 预警总数
        /// </summary>
        public int TotalAlertCount { get; set; }
        
        /// <summary>
        /// 检查时间
        /// </summary>
        public DateTime CheckTime { get; set; }
        
        /// <summary>
        /// 预警商品列表
        /// </summary>
        public List<LowStockItem> LowStockItems { get; set; } = new List<LowStockItem>();
    }
    
    /// <summary>
    /// 库存不足商品信息
    /// </summary>
    public class LowStockItem
    {
        /// <summary>
        /// 商品ID
        /// </summary>
        public int GoodsId { get; set; }
        
        /// <summary>
        /// 商品名称
        /// </summary>
        public string GoodsName { get; set; }
        
        /// <summary>
        /// 商品编号
        /// </summary>
        public string GoodsNumber { get; set; }
        
        /// <summary>
        /// 当前库存数量
        /// </summary>
        public int CurrentStock { get; set; }
        
        /// <summary>
        /// 最低库存阈值
        /// </summary>
        public int MinStockLevel { get; set; }
        
        /// <summary>
        /// 安全库存阈值
        /// </summary>
        public int SafeStockLevel { get; set; }
        
        /// <summary>
        /// 预警级别（1:低库存预警，2:安全库存预警，3:缺货警告）
        /// </summary>
        public int AlertLevel { get; set; }
        
        /// <summary>
        /// 预警描述
        /// </summary>
        public string AlertDescription { get; set; }
        
        /// <summary>
        /// 库存缺口
        /// </summary>
        public int StockGap { get; set; }
        
        /// <summary>
        /// 预警时间
        /// </summary>
        public DateTime AlertTime { get; set; }
    }
}